package com.learn.project2.service.admin.role;

import com.learn.project2.model.bo.admin.role.PostRolePermissionBO;
import com.learn.project2.model.bo.admin.role.RoleCreateBO;
import com.learn.project2.model.bo.admin.role.RoleDeleteBO;
import com.learn.project2.model.bo.admin.role.RoleUpDateBO;
import com.learn.project2.model.vo.admin.RoleListVO;
import com.learn.project2.model.vo.admin.role.RoleCreateVO;
import com.learn.project2.model.vo.admin.role.RoleOptionsVO;
import com.learn.project2.model.vo.admin.role.RolePermissionsVO;


/**
 * @Classname RoleService
 * @Description
 * @author王茁
 * @Date 2022/1/6 22:17
 */
public interface RoleService {
    RoleListVO list(Integer page, Integer limit, String name, String sort, String order);

    RoleCreateVO create(RoleCreateBO roleCreateBO);

    void delete(RoleDeleteBO roleDeleteBO);

    int update(RoleUpDateBO roleUpDateBO);

    RoleOptionsVO getOptions();

    RolePermissionsVO getPermissions(Integer roleId);

    void postPermissions(PostRolePermissionBO postRolePermissionBO);
}
